package com.cnap.multiclouldmgmt.model.scale.group;

import com.cnap.multiclouldmgmt.model.scale.policy.ScalingPolicyVO;
import io.swagger.annotations.ApiModelProperty;

import java.util.List;

/**
 * <类文件描述>
 *
 * @author xc
 **/
public class ScalingGroupVO {
    // id
    private String id;
    // 集群名称
    private String clusterName;
    // 供应商，预留
    private String provider;

    private String accountName;
    // 云资源标签
    @ApiModelProperty(value = "AI BIGDATA DEFAULT")
    private String label;
    // 虚机移除策略
    @ApiModelProperty(value = "虚机移除策略，LIFO(后入先出)，FIFO(先入先出)")
    private String deletePolicy;
    // 名字
    private String groupName;
    // 最大VM数
    private int maxNum;
    // 期望VM数
    private int expectNum;
    // 最小VM数
    private int minNum;
    // 当前实例数
    private int currentNum;
    // 伸缩配置的名称
    private String configName;
    // 状态
    @ApiModelProperty(value = "状态，初始：0，已启用：1，已停用：2")
    private int status;
    @ApiModelProperty(value = "策略信息")
    private List<ScalingPolicyVO> policyInfos;

    /**
     * get
     *
     * @return AccountName
     */
    public String getAccountName() {
        return accountName;
    }

    /**
     * set
     *
     * @param accountName accountName
     */
    public void setAccountName(String accountName) {
        this.accountName = accountName;
    }

    /**
     * get
     *
     * @return Id
     */
    public String getId() {
        return id;
    }

    /**
     * set
     *
     * @param id id
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * get
     *
     * @return ClusterName
     */
    public String getClusterName() {
        return clusterName;
    }

    /**
     * set
     *
     * @param clusterName clusterName
     */
    public void setClusterName(String clusterName) {
        this.clusterName = clusterName;
    }

    /**
     * get
     *
     * @return Provider
     */
    public String getProvider() {
        return provider;
    }

    /**
     * set
     *
     * @param provider provider
     */
    public void setProvider(String provider) {
        this.provider = provider;
    }

    /**
     * get
     *
     * @return Label
     */
    public String getLabel() {
        return label;
    }

    /**
     * set
     *
     * @param label label
     */
    public void setLabel(String label) {
        this.label = label;
    }

    /**
     * get
     *
     * @return DeletePolicy
     */
    public String getDeletePolicy() {
        return deletePolicy;
    }

    /**
     * set
     *
     * @param deletePolicy deletePolicy
     */
    public void setDeletePolicy(String deletePolicy) {
        this.deletePolicy = deletePolicy;
    }

    /**
     * get
     *
     * @return GroupName
     */
    public String getGroupName() {
        return groupName;
    }

    /**
     * set
     *
     * @param groupName groupName
     */
    public void setGroupName(String groupName) {
        this.groupName = groupName;
    }

    /**
     * get
     *
     * @return MaxNum
     */
    public int getMaxNum() {
        return maxNum;
    }

    /**
     * set
     *
     * @param maxNum maxNum
     */
    public void setMaxNum(int maxNum) {
        this.maxNum = maxNum;
    }

    /**
     * get
     *
     * @return ExpectNum
     */
    public int getExpectNum() {
        return expectNum;
    }

    /**
     * set
     *
     * @param expectNum expectNum
     */
    public void setExpectNum(int expectNum) {
        this.expectNum = expectNum;
    }

    /**
     * get
     *
     * @return MinNum
     */
    public int getMinNum() {
        return minNum;
    }

    /**
     * set
     *
     * @param minNum minNum
     */
    public void setMinNum(int minNum) {
        this.minNum = minNum;
    }

    /**
     * get
     *
     * @return CurrentNum
     */
    public int getCurrentNum() {
        return currentNum;
    }

    /**
     * set
     *
     * @param currentNum currentNum
     */
    public void setCurrentNum(int currentNum) {
        this.currentNum = currentNum;
    }

    /**
     * get
     *
     * @return ConfigName
     */
    public String getConfigName() {
        return configName;
    }

    /**
     * set
     *
     * @param configName configName
     */
    public void setConfigName(String configName) {
        this.configName = configName;
    }

    /**
     * get
     *
     * @return Status
     */
    public int getStatus() {
        return status;
    }

    /**
     * set
     *
     * @param status status
     */
    public void setStatus(int status) {
        this.status = status;
    }

    /**
     * get
     *
     * @return PolicyInfos
     */
    public List<ScalingPolicyVO> getPolicyInfos() {
        return policyInfos;
    }

    /**
     * set
     *
     * @param policyInfos policyInfos
     */
    public void setPolicyInfos(List<ScalingPolicyVO> policyInfos) {
        this.policyInfos = policyInfos;
    }
}
